package com.ruoyi.waterManagement.service;

import com.ruoyi.common.core.domain.business.waterManagement.WrStatvolD;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.waterManagement.domain.vo.NzrWrStatvolDVO;
import com.ruoyi.waterManagement.domain.vo.WaterReportVO;
import com.ruoyi.waterManagement.domain.vo.YzrWrStatvolDVO;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;

/**
 * 测站日水量Service接口
 * 
 * @author hwd
 * @date 2023-02-20
 */
public interface IWrStatvolDService 
{
    /**
     * 查询测站日水量
     * 
     * @param statCd 测站日水量主键
     * @return 测站日水量
     */
    public WrStatvolD selectWrStatvolDByStatCd(String statCd);

    /**
     * 查询测站日水量列表
     * 
     * @param wrStatvolD 测站日水量
     * @return 测站日水量集合
     */
    public List<WrStatvolD> selectWrStatvolDList(WrStatvolD wrStatvolD);

    /**
     * 新增测站日水量
     * 
     * @param wrStatvolD 测站日水量
     * @return 结果
     */
    public int insertWrStatvolD(WrStatvolD wrStatvolD);

    /**
     * 修改测站日水量
     * 
     * @param wrStatvolD 测站日水量
     * @return 结果
     */
    public int updateWrStatvolD(WrStatvolD wrStatvolD);

    /**
     * 批量删除测站日水量
     * 
     * @param statCds 需要删除的测站日水量主键集合
     * @return 结果
     */
    public int deleteWrStatvolDByStatCds(String[] statCds);

    /**
     * 删除测站日水量信息
     * 
     * @param statCd 测站日水量主键
     * @return 结果
     */
    public int deleteWrStatvolDByStatCd(String statCd);

    /**
     * 查询取用水监测点日水量信息列表
     *
     * @param yzrWrStatvolDVO 取用水监测点日水量信息
     * @return 取用水监测点日水量信息集合
     */
    public List<YzrWrStatvolDVO> selectYzrWrStatvolDVOList(YzrWrStatvolDVO yzrWrStatvolDVO);


    /**
     * 查询取用水测站年逐日水量信息
     *
     * @return 取用水测站年逐日水量信息
     */
    public HashMap selectNzrWrStatvolDVO(NzrWrStatvolDVO nzrWrStatvolDVO);

    /**
     * 查询取用水测站年逐日水位信息
     *
     * @return 取用水测站年逐日水位信息
     */
    public HashMap selectNzrWaterLevelVO(NzrWrStatvolDVO nzrWrStatvolDVO);

    /**
     * 查询取用水测站年逐日流量信息
     *
     * @return 取用水测站年逐日流量信息
     */
    public HashMap selectNzrFlowVO(NzrWrStatvolDVO nzrWrStatvolDVO);

    /**
     * 查询水管机构水量日报信息
     *
     * @return 水管机构水量日报信息
     */
    public  List<WaterReportVO> selectDayWaterReport(WaterReportVO waterReportVO);
    /**
     * 导出水管机构水量日报信息
     * @param waterReportVO
     * @param response
     * @param excelTitle
     * @throws IOException
     */
    public void exportExcel(WaterReportVO waterReportVO, HttpServletResponse response, String excelTitle) throws IOException;

}
